<?xml version="1.0"?>
<doc>
    <assembly>
        <name>EQATEC.Analytics.MonitorSL</name>
    </assembly>
    <members>
        <member name="T:EQATEC.Analytics.Monitor.AnalyticsMonitor">
            <summary>
            Implementing class for IAnalyticsMonitor. Coordinates the interaction between
            the messaging subsystem, the statistics and the storage
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.IAnalyticsMonitor">
            <summary>
            The interface for the analytics monitor. Call Start to start using
            the monitor. Start will attempt to send the latest statistics so it should
            not be called before access to the internet is available.
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.IAnalyticsMonitor.Start">
            <summary>
            Call to start the monitor.
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.IAnalyticsMonitor.TrackException(System.Exception)">
            <summary>
            Call to track an exception that occured in the application.
            </summary>
            <param name="exception">the exception to be tracked</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.IAnalyticsMonitor.TrackException(System.Exception,System.String)">
            <summary>
            Call to track an exception that occured in the application.
            </summary>
            <param name="exception">the exception to be tracked</param>
            <param name="message">information about the action being performed when the exception occurred in addition to time stamp and exception message, type and stack trace which are logged automatically</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.IAnalyticsMonitor.TrackException(System.Exception,System.String,System.Object[])">
            <summary>
            Call to track an exception that occured in the application.
            </summary>
            <param name="exception">the exception to be tracked</param>
            <param name="format">a formatting string containing the information about the action being performed when the exception occurred in addition to time stamp and exception message, type and stack trace which are logged automatically</param>
            <param name="args">an object array containing zero or more objects to format</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.IAnalyticsMonitor.TrackFeature(System.String)">
            <summary>
            Register a feature usage. Features can be structured in a hieracy using dot-notation.
            For example use "export" to track all export operations as one, or use "export.html"
            and "export.pdf" to track exports to html and pdf seperately such that they can be compared.<br/>
            Do not, however, use freeform text, such as the name of file being exported to, as the featureName.
            </summary>
            <param name="featureName">The name of the feature. If it is null and empty the request is ignored.</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.IAnalyticsMonitor.TrackFeatureStart(System.String)">
            <summary>
            Register the start of a feature usage. Use this with <see cref="M:EQATEC.Analytics.Monitor.IAnalyticsMonitor.TrackFeatureStop(System.String)"/> to track
            how long a feature is used.<br/>
            Features can be structured in a hieracy using dot-notation.
            For example use "export" to track all export operations as one, or use "export.html"
            and "export.pdf" to track exports to html and pdf seperately such that they can be compared.<br/>
            Do not, however, use freeform text, such as the name of file being exported to, as the featureName.
            </summary>
            <param name="featureName">The name of the feature. If it is null and empty the request is ignored.</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.IAnalyticsMonitor.TrackFeatureStop(System.String)">
            <summary>
            Register the end of a feature usage stared by <see cref="M:EQATEC.Analytics.Monitor.IAnalyticsMonitor.TrackFeatureStart(System.String)"/>.
            Call <c>TrackFeatureStop</c> before <c>Start</c> and <c>TrackFeatureStart</c> or calling
            <c>TrackFeatureStop</c> multiple times have no effect.
            All features are implicitly stopped by calling <see cref="M:EQATEC.Analytics.Monitor.IAnalyticsMonitor.Stop"/>.
            </summary>
            <param name="featureName">The name of the feature. If it is null and empty the request is ignored.</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.IAnalyticsMonitor.TrackFeatureCancel(System.String)">
            <summary>
            Stops an ongoing timing of a feature from any previous call to <code>TrackFeatureStart</code> without
            registering a timing. Use this call if the feature being tracked did not complete as expected, e.g.
            was interupted by an exception. The call can safely be made even if no <code>TrackFeatureStart</code> has
            been made.
            </summary>
            <param name="featureName">The name of the feature. If it is null and empty the request is ignored.</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.IAnalyticsMonitor.TrackFeatureValue(System.String,System.Int64)">
            <summary>
            Register a value on a specific feature.
            </summary>
            <param name="featureName">The name of the feature. If it is null and empty the request is ignored.</param>
            <param name="trackedValue">The value to track</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.IAnalyticsMonitor.SendLog(System.String)">
            <summary>
            Send a log message to the server. Messages above 512 characters will be truncated
            </summary>
            <param name="logMessage">the log message to send to the server. Truncated if above 512 characters</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.IAnalyticsMonitor.SendLog(System.String,System.Object[])">
            <summary>
            Send a log message to the server. Messages above 512 characters will be truncated
            </summary>
            <param name="messageFormat">the log message to send to the server. Truncated if above 512 characters</param>
            <param name="args">arguments to the message format</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.IAnalyticsMonitor.Stop">
            <summary>
            Call to stop the monitor. Call will attempt to save any pending state
            to the storage
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.IAnalyticsMonitor.ForceSync">
            <summary>
            Explicitly force a synchonization of the current information with the analytics server.
            This call is not expected to be used in a standard setup but may be helpful in 
            occasionally connected scenarios. If you created the monitor instance by explicitly setting <code>SynchronizeAutomatically</code>
            to <code>false</code> this is how you can force the monitor to synchronize.
            </summary>
            <see cref="T:EQATEC.Analytics.Monitor.AnalyticsMonitorSettings"/>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.IAnalyticsMonitor.SetInstallationInfo(System.String)">
            <summary>
             Associate an installation ID with the current usage session. By setting this installation ID
             you will receive back an <code>IInstallationSettings</code> instance which you can use to
             specify a collection of key-value pairs that is globally associated with the installation ID.
             You can change the installation ID of a current usage session at any point though all existing
             installation settings are reset in the process.
            </summary>
             <param name="installationId">The installation ID to associate with the current session</param>
             <see cref="T:EQATEC.Analytics.Monitor.IInstallationSettings"/>
        </member>
        <member name="E:EQATEC.Analytics.Monitor.IAnalyticsMonitor.VersionAvailable">
            <summary>
            Raised when a version check has ended
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.IInstallationSettings">
            <summary>
             Representing the settings associated with a given installation ID
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.IInstallationSettings.SetInstallationProperties(System.Collections.Generic.Dictionary{System.String,System.String})">
            <summary>
             Associate the dictionary of key-value pairs with the current installation settings
            </summary>
             <param name="installationProperties">dictionary of key-value pairs to associate with the installation</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitor.#ctor(EQATEC.Analytics.Monitor.IStatisticsMonitor,EQATEC.Analytics.Monitor.ILogAnalyticsMonitor,EQATEC.Analytics.Monitor.Policy.MonitorPolicy)">
            <summary>
            Constructor
            </summary>
            <param name="statisticsMonitor">the statistics monitor</param>
            <param name="log">the logging interface</param>
            <param name="policy">the internal settings object</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitor.Start">
            <summary>
            Initializes the monitor
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitor.SendLog(System.String)">
            <summary>
            Send log message
            </summary>
            <param name="logMessage"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitor.SendLog(System.String,System.Object[])">
            <summary>
            Send log message
            </summary>
            <param name="logMessage"></param>
            <param name="args"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitor.TrackException(System.Exception)">
            <summary>
            Track exception
            </summary>
            <param name="exception"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitor.TrackException(System.Exception,System.String)">
            <summary>
            Track exception
            </summary>
            <param name="exception"></param>
            <param name="message"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitor.TrackException(System.Exception,System.String,System.Object[])">
            <summary>
            Track exception
            </summary>
            <param name="exception"></param>
            <param name="format"></param>
            <param name="args"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitor.TrackFeature(System.String)">
            <summary>
            Regsiter a feature usage. Features can be structured in a hieracy using dot-notation.
            For example use "export" to track all export operations as one, or use "export.html"
            and "export.pdf" to track exports to html and pdf seperately such that they can be compared.<br/>
            Do not, however, use freeform text, such as the name of file being exported to, as the featureName.
            </summary>
            <param name="featureName">The name of the feature. If it is null and empty the request is ignored.</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitor.TrackFeatureStart(System.String)">
            <summary>
            Tracking a feature start
            </summary>
            <param name="featureName"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitor.TrackFeatureStop(System.String)">
            <summary>
            Tracking a feature stop
            </summary>
            <param name="featureName"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitor.TrackFeatureCancel(System.String)">
            <summary>
            Cancelling a feature timing
            </summary>
            <param name="featureName"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitor.ForceSync">
            <summary>
            Force a synchonization the current information with the analytics server.
            This should not be used in normal situations.
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitor.SetInstallationInfo(System.String)">
            <summary>
            Set installationId at the current session and get interface to installation settings
            </summary>
            <param name="installationId"></param>
            <returns></returns>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitor.Stop">
            <summary>
            Stop the Analytics monitor. Will attempt to write any pending
            state to the storage
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitor.Stop(System.Int32)">
            <summary>
            Stop the Analytics monitor. Will attempt to write any pending
            state to the storage
            </summary>
            <param name="timeout">The timeout in milliseconds for any server communication in progress</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitor.System#IDisposable#Dispose">
            <summary>
            Dispose the monitor
            </summary>
        </member>
        <member name="E:EQATEC.Analytics.Monitor.AnalyticsMonitor.VersionAvailable">
            <summary>
            Event raised when a version check has ended, succesfully or not
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.AnalyticsMonitorFacade">
            <summary>
            Represents a simple facade for interacting with the Analytics Monitor. Use this facade interface instead
            of interacting more directly with the <see cref="T:EQATEC.Analytics.Monitor.AnalyticsMonitorFactory"/> and <see cref="T:EQATEC.Analytics.Monitor.IAnalyticsMonitor"/>
            interfaces for a slightly higher level interaction model.
            
            The facade will instantiate a single <see cref="T:EQATEC.Analytics.Monitor.IAnalyticsMonitor"/> instance on the Create call and
            the remaining methods on this class mirror the methods found on the <see cref="T:EQATEC.Analytics.Monitor.IAnalyticsMonitor"/> interface. The
            facade can be used by consumers as a simple way of calling the API without worrying about passing the
            <see cref="T:EQATEC.Analytics.Monitor.IAnalyticsMonitor"/> instance around and about the timing issues of when the methods can be 
            called. The facade will encapsulate the created instance, raise an exception for multiple calls
            to the Create methods and will forward the methods on to the instance when it is available.
            
            If the facade represent too high level control or you would like to control the <see cref="T:EQATEC.Analytics.Monitor.IAnalyticsMonitor"/>
            instance yourself you should look at using the <see cref="T:EQATEC.Analytics.Monitor.AnalyticsMonitorFactory"/> methods.
            </summary>
            <remarks>Repeated calls to the Create methods will raise exceptions as the intended use of the facade is for simple integration scenarios</remarks>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitorFacade.Create(System.String)">
            <summary>
            Initializes the facade by creating a monitor with the given product id and the standard
            settings
            </summary>
            <param name="productId">the product id to use</param>
            <exception cref="T:System.InvalidOperationException">if Create has already been called</exception>
            <exception cref="T:System.ArgumentException">if the product id is not correctly formatted</exception>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitorFacade.Create(EQATEC.Analytics.Monitor.AnalyticsMonitorSettings)">
            <summary>
            Initializes the facade by creating a monitor with the specified
            settings
            </summary>
            <param name="settings">the product id to use</param>
            <exception cref="T:System.InvalidOperationException">if Create has already been called</exception>
            <exception cref="T:System.ArgumentNullException">if null is passed as settings</exception>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitorFacade.Create(EQATEC.Analytics.Monitor.IAnalyticsMonitor)">
            <summary>
            Internal method for creating the facade
            </summary>
            <param name="instance"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitorFacade.Start">
            <summary>
            Start the monitor
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitorFacade.Stop">
            <summary>
            Stop the monitor
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitorFacade.TrackException(System.Exception)">
            <summary>
            Track an exception
            </summary>
            <param name="exception">the exception instance</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitorFacade.TrackException(System.Exception,System.String)">
            <summary>
            Track an exception along with a context message
            </summary>
            <param name="exception">the exception instance</param>
            <param name="message">an additional context message specifying extra information not captured in the exception</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitorFacade.TrackException(System.Exception,System.String,System.Object[])">
            <summary>
            Track an exception with a formatted context message
            </summary>
            <param name="exception">the exception instance</param>
            <param name="format">a format string for specifying extra information not captured in the exception</param>
            <param name="args">arguments to the format string</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitorFacade.TrackFeature(System.String)">
            <summary>
            Register a feature usage. Features can be structured in a hieracy using dot-notation.
            For example use "export" to track all export operations as one, or use "export.html"
            and "export.pdf" to track exports to html and pdf seperately such that they can be compared.<br/>
            Do not, however, use freeform text, such as the name of file being exported to, as the featureName.
            </summary>
            <param name="featureName">The name of the feature. If it is null and empty the request is ignored.</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitorFacade.TrackFeatureStart(System.String)">
            <summary>
            Register the start of a feature usage. Use this with <see cref="M:EQATEC.Analytics.Monitor.AnalyticsMonitorFacade.TrackFeatureStop(System.String)"/> to track
            how long a feature is used.<br/>
            Features can be structured in a hieracy using dot-notation.
            For example use "export" to track all export operations as one, or use "export.html"
            and "export.pdf" to track exports to html and pdf seperately such that they can be compared.<br/>
            Do not, however, use freeform text, such as the name of file being exported to, as the featureName.
            </summary>
            <param name="featureName">The name of the feature. If it is null and empty the request is ignored.</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitorFacade.TrackFeatureStop(System.String)">
            <summary>
            Register the end of a feature usage stared by <see cref="M:EQATEC.Analytics.Monitor.AnalyticsMonitorFacade.TrackFeatureStart(System.String)"/>.
            Call <c>TrackFeatureStop</c> before <c>Start</c> and <c>TrackFeatureStart</c> or calling
            <c>TrackFeatureStop</c> multiple times have no effect.
            All features are implicitly stopped by calling <see cref="M:EQATEC.Analytics.Monitor.AnalyticsMonitorFacade.Stop"/>.
            </summary>
            <param name="featureName">The name of the feature. If it is null and empty the request is ignored.</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitorFacade.SendLog(System.String)">
            <summary>
            Send a log message to the server. Messages above 512 characters will be truncated
            </summary>
            <param name="logMessage">the log message to send to the server. Truncated if above 512 characters</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitorFacade.SendLog(System.String,System.Object[])">
            <summary>
            Send a log message to the server. Messages above 512 characters will be truncated
            </summary>
            <param name="messageFormat">the log message to send to the server. Truncated if above 512 characters</param>
            <param name="args">arguments to the message format</param>
        </member>
        <member name="E:EQATEC.Analytics.Monitor.AnalyticsMonitorFacade.VersionAvailable">
            <summary>
            Raised when a new version is available
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.AnalyticsMonitorFactory">
            <summary>
            Factory for creating IAnalyticsMonitor instances. Call with an instance of 
            AnalyticsMonitorSettings to customize behavior
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitorFactory.Create(System.String)">
            <summary>
            Create an IAnalyticsMonitor instance using the default settings
            </summary>
            <param name="productId">the product ID</param>
            <returns>an instance of the IAnalyticsMonitor interface</returns>
            <exception cref="T:System.ArgumentException">thrown if product id provided valid have the wrong format (guid format expected)</exception>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitorFactory.Create(EQATEC.Analytics.Monitor.AnalyticsMonitorSettings)">
            <summary>
            Create an IAnalyticsMonitor instance using customized settings
            </summary>
            <param name="analyticsMonitorSettings">the settings to use for constructing the instance</param>
            <returns>an instance of the IAnalyticsMonitor interface</returns>
            <exception cref="T:System.ArgumentNullException">thrown if product the analyticsMonitorSettings is null</exception>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.InstallationSettings">
            <summary>
            Internal stttings
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.InstallationSettings.InstallationId">
            <summary>
            Installation id
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.InstallationSettings.InstallationProperties">
            <summary>
            Installation Properties
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Model.ExceptionEntry">
            <summary>
            Holding an exception entry
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Model.ExceptionEntry.#ctor(System.TimeSpan,System.String,System.String,System.String,System.String,System.String,System.String,EQATEC.Analytics.Monitor.Model.ExceptionEntry)">
            <summary>
            Verbose constructor
            </summary>
            <param name="time"></param>
            <param name="extraInfo"></param>
            <param name="type"></param>
            <param name="source"></param>
            <param name="targetSite"></param>
            <param name="message"></param>
            <param name="stackTrace"></param>
            <param name="innerException"></param>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Model.ExceptionEntry.Time">
            <summary>
            The uptime when the exception occured
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Model.ExceptionEntry.ExtraInfo">
            <summary>
            Additional context information with this exception
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Model.ExceptionEntry.Type">
            <summary>
            The exception type
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Model.ExceptionEntry.Message">
            <summary>
            The exception message
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Model.ExceptionEntry.TargetSite">
            <summary>
            The target site, taken from the exception object
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Model.ExceptionEntry.Source">
            <summary>
            The source
            </summary>, taken from the exception object
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Model.ExceptionEntry.StackTrace">
            <summary>
            The stacktrace, taken from the exception object
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Model.ExceptionEntry.InnerException">
            <summary>
            The inner exception object
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Model.LogEntry">
            <summary>
            Data carrying class encapsulating a log message
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Model.ModelXmlSerializer">
            <summary>
            Serializer for the Statistics data, serialization to custom Xml format
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Model.ModelXmlSerializer.Serialize(System.Xml.XmlWriter,EQATEC.Analytics.Monitor.Model.Statistics,System.DateTime,System.TimeSpan,EQATEC.Analytics.Monitor.Model.SerializationTarget,EQATEC.Analytics.Monitor.Policy.MonitorPolicy,EQATEC.Analytics.Monitor.Storage.StorageLevel)">
            <summary>
            Serialization into an XmlWriter
            </summary>
            <param name="xtw"></param>
            <param name="statistics"></param>
            <param name="time"></param>
            <param name="uptime"></param>
            <param name="target"></param>
            <param name="policy"></param>
            <param name="storageLevel"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Model.ModelXmlSerializer.Deserialize(System.Xml.XmlReader,System.DateTime,System.TimeSpan)">
            <summary>
            Deserialization from an XmlReader
            </summary>
            <param name="xr"></param>
            <param name="time"></param>
            <param name="uptime"></param>
            <returns></returns>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Model.Session">
            <summary>
            Encapsulation of a session. Root object for the all information
            happening as part of a 'usage'
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Model.Session.CreateSnapshot">
            <summary>
            Create a current snapshot of the session information
            </summary>
            <returns></returns>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Model.Session.ApplySnapshot(EQATEC.Analytics.Monitor.Model.Session)">
            <summary>
            Applying snapshots, hooking up session information from
            a storage to the current instance
            </summary>
            <param name="session"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Policy.PolicyXmlSerializer.Serialize(System.Xml.XmlWriter,EQATEC.Analytics.Monitor.Policy.MonitorPolicy,System.DateTime,System.TimeSpan)">
            <summary>
            Serialization into an XmlWriter
            </summary>
            <param name="xtw"></param>
            <param name="time"></param>
            <param name="uptime"></param>
            <param name="policy"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Policy.SettingsValue`1.SetExplictValue(`0)">
            <summary>
            Set the value explicitly set through the API
            </summary>
            <param name="explicitValue"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Policy.SettingsValue`1.SetValue(`0)">
            <summary>
            Setting the value, will override any explicit value 
            set by the API
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Policy.SettingsValue`1.Reset">
            <summary>
            Reset the value, either to a default or to the explicit value
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Policy.SettingsValue`1.Default">
            <summary>
            The default value, if not overriden
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Policy.SettingsValue`1.Value">
            <summary>
            The actual current value
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Policy.SettingsValue`1.ExplicitValue">
            <summary>
            Value set by the programmer/API, may have been overriden 
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Policy.SettingsValue`1.IsExplicit">
            <summary>
            Returns whether the current value is explicit
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.ProxyConfiguration">
            <summary>
            Container for proxy configuration
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.ProxyConfiguration.ProxyConnectionStr">
            <summary>
            Specify a connection string for the proxy 
            e.g. "MyProxyServer:8080".
            Default proxy functionality (same as IE) it applied if ProxyConnectionStr
            is null or empty
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.ProxyConfiguration.ProxyUserName">
            <summary>
            Specify the user name used in the proxy connection.
            The system will connect without username/password if ProxyUserName is null or empty.
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.ProxyConfiguration.ProxyPass">
            <summary>
            Specify the password used in the proxy connection.
            The system will connect without username/password if ProxyPass is null or empty.
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.ILogAnalyticsMonitor">
            <summary>
            Interface used for outputting log messages internally from
            AnalyticsMonitor.
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.ILogAnalyticsMonitor.LogMessage(System.String)">
            <summary>
            Logging a message. This is called for informative messages
            internally in the analytics monitor. These are not error messages
            but messages on specific actions being performed
            </summary>
            <param name="message">describes the action being performed</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.ILogAnalyticsMonitor.LogError(System.String)">
            <summary>
            Logging an error message. This is called when an error occurs
            internally in the analytics monitor. The errorMessage will contain
            a human readable error message describing the error
            </summary>
            <param name="errorMessage">describes the error message</param>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Messaging.IMessageFactory">
            <summary>
            Interface for building messages to send
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Messaging.IMessageFactory.BuildStatisticsMessage(EQATEC.Analytics.Monitor.Model.Statistics,EQATEC.Analytics.Monitor.Policy.MonitorPolicy)">
            <summary>
            Build the statistics message given a cookie, a statistics instance and
            a boolean indicating whether this is a message from a new day
            </summary>
            <param name="statistics"></param>
            <param name="policy"></param>
            <returns></returns>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Messaging.IMessageFactory.MessageFactoryVersion">
            <summary>
            Get version of the message factory
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Messaging.IMessageReceiver">
            <summary>
            Interface for handling reception of messages
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Messaging.IMessageReceiver.ParseResponse(EQATEC.Analytics.Monitor.Messaging.MessageResponse)">
            <summary>
            Receive an incoming message payload and return any message relating
            to the processing of the payload. An empty return string indicates no issues
            with the response processing
            </summary>
            <param name="serverResponse"></param>
            <returns></returns>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Messaging.IMessageSender">
            <summary>
            Interface for sending message payload
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Messaging.IMessageSender.SendMessage(System.Uri,System.Byte[],System.Action{EQATEC.Analytics.Monitor.Messaging.MessageResponse})">
            <summary>
            Send the message payload async and callback with the received response message on 
            the callback action
            </summary>
            <param name="baseUri"></param>
            <param name="payload"></param>
            <param name="messageResponseCallback"></param>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Messaging.IMessagingSubSystem">
            <summary>
            Internal interface for handling all messaging aspects
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Messaging.IMessagingSubSystem.WaitForIdle(System.Int32)">
            <summary>
            Internal interface primarily for allowing testing to wait for message processing
            to become idle
            </summary>
            <param name="timeoutMilliSec"></param>
            <returns></returns>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Messaging.IMessagingSubSystem.SendMessage(System.Byte[],System.Action{EQATEC.Analytics.Monitor.Messaging.SendMessageResult})">
            <summary>
            Send a payload and receive the response message on the callback
            </summary>
            <param name="payload"></param>
            <param name="sendingResultCallback"></param>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Messaging.IMessagingSubSystem.ActiveRequestCount">
            <summary>
            Get number of active requests at this time
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.IStatisticsMonitor">
            <summary>
            Internal statistics frontend for collecting the
            statistics information
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.IStorage">
            <summary>
            A storage interface for loading and save data for a given product ID. Can be
            implementing by external callers and passed into the AnalyticsMonitor through the
            AnalyticsMonitorSettings instance
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.IStorage.Save(System.String,System.Byte[])">
            <summary>
            Save data for a given product ID
            </summary>
            <param name="productID">the product ID</param>
            <param name="data">the data to save</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.IStorage.Load(System.String)">
            <summary>
            Load existing data for product ID. If no data is available, implementors should
            return null or an empty array
            </summary>
            <param name="productID">the product ID</param>
            <returns>any previously persisted data</returns>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Storage.IStorageFactory">
            <summary>
            Interface encapsulating access to stored statistics and access
            data
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Messaging.MessageFactory">
            <summary>
            Message factory for coinstructing message payloads
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Messaging.MessageFactory.BuildStatisticsMessage(EQATEC.Analytics.Monitor.Model.Statistics,EQATEC.Analytics.Monitor.Policy.MonitorPolicy)">
            <summary>
            Create message for sending the current statistics to the server
            </summary>
            <param name="statistics">The statistics to send</param>
            <param name="policy"></param>
            <returns>The message to send</returns>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Messaging.MessageFactory.MessageFactoryVersion">
            <summary>
            Current version of the message factory. Is changes as message formats
            are altered over time
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Messaging.MessageReceiver">
            <summary>
            Class handling the reception and parsing of messages from server
            and for delegating information received from the server to the
            appropriate reception handler
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Messaging.MessageReceiver.#ctor(System.Int32,System.Version,EQATEC.Analytics.Monitor.ILogAnalyticsMonitor,EQATEC.Analytics.Monitor.Policy.MonitorPolicy)">
            <summary>
            Constructor
            </summary>
            <param name="messageFactoryVersion"></param>
            <param name="currentVersion">the current version</param>
            <param name="log">the logging interface</param>
            <param name="policy"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Messaging.MessageReceiver.ParseResponse(EQATEC.Analytics.Monitor.Messaging.MessageResponse)">
            <summary>
            Handles the reception of incoming payload from the server and returns 
            the reponse processing information. An empty return value indicates processing
            without problems
            </summary>
            <param name="messageResponse">the incoming payload</param>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Messaging.MessageSender">
            <summary>
            Class handling the asynchronous sending of messages and forwarding received messages
            to the IMessageReceiver
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Messaging.MessageSender.#ctor(EQATEC.Analytics.Monitor.ILogAnalyticsMonitor,EQATEC.Analytics.Monitor.ProxyConfiguration,EQATEC.Analytics.Monitor.Policy.MonitorInfo)">
            <summary>
            Constructor
            </summary>
            <param name="log">the logging interface</param>
            <param name="proxyConfig">the proxy configuration</param>
            <param name="policyInfo">the policy configuration</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Messaging.MessageSender.SendMessage(System.Uri,System.Byte[],System.Action{EQATEC.Analytics.Monitor.Messaging.MessageResponse})">
            <summary>
            Send the message asynchronously and invokes the sendMessageCallback when message sending
            has succeeded or failed with the payload. If sending fails a null message is send on the 
            callback
            </summary>
            <param name="baseUri"></param>
            <param name="payload">the message to send</param>
            <param name="sendMessageCallback">the callback, called with the received payload</param>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Messaging.MessagingSubSystem">
            <summary>
            Class encapsulating the messaging system in the Analytics Monitor. This
            class handles and coordinates to ensure that messages are send and retried
            and eventually failed if unable to contact server
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Messaging.MessagingSubSystem.#ctor(EQATEC.Analytics.Monitor.Messaging.IMessageReceiver,EQATEC.Analytics.Monitor.Messaging.IMessageSender,EQATEC.Analytics.Monitor.Policy.MonitorPolicy,System.Uri,EQATEC.Analytics.Monitor.ILogAnalyticsMonitor)">
            <summary>
            Constructor
            </summary>
            <param name="receiver"></param>
            <param name="sender"></param>
            <param name="policy"></param>
            <param name="defaultUri"></param>
            <param name="log"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Messaging.MessagingSubSystem.Void``1(``0)">
            <summary>
            Private empty callback
            </summary>
            <param name="errorMessage"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Messaging.MessagingSubSystem.SendMessage(System.Byte[],System.Action{EQATEC.Analytics.Monitor.Messaging.SendMessageResult})">
            <summary>
            Send the payload and set result of sending back on the callback
            </summary>
            <param name="payload"></param>
            <param name="sendingResultCallback"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Messaging.MessagingSubSystem.SendMessage(EQATEC.Analytics.Monitor.Messaging.MessagingSubSystem.Message,System.Action{EQATEC.Analytics.Monitor.Messaging.SendMessageResult})">
            <summary>
            Send a message and return the SendResult in the callback
            </summary>
            <param name="message">The message to send</param>
            <param name="callback">The callback</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Messaging.MessagingSubSystem.RecieveMessage(EQATEC.Analytics.Monitor.Messaging.MessagingSubSystem.Message,EQATEC.Analytics.Monitor.Messaging.MessageResponse,System.Action{EQATEC.Analytics.Monitor.Messaging.SendMessageResult})">
            <summary>
            Private method for forwarding and handling the response received from the server once
            the payload has been sent
            </summary>
            <param name="message"></param>
            <param name="response"></param>
            <param name="callback"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Messaging.MessagingSubSystem.WaitForIdle(System.Int32)">
            <summary>
            Waiting for idle messaging system
            </summary>
            <param name="timeoutMilliSec"></param>
            <returns></returns>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Messaging.MessagingSubSystem.Wait(System.Int32)">
            <summary>
            Wait code, platform specific
            </summary>
            <param name="timeout"></param>
            <returns></returns>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Messaging.MessagingSubSystem.ActiveRequestCount">
            <summary>
            Number of active requests
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Messaging.MessagingSubSystem.Message">
            <summary>
            Simple data carrying class for a message
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.NamespaceDoc">
            <summary>
            The <c>AnalyticsMonitor</c> namespace contains all classes and interfaces needed
            to construct and work with the EQATEC Analytics Monitor
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Model.Feature">
            <summary>
            Feature registration
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Model.Feature.SessionHit">
            <summary>
            Number of times this feature has been utilized in the full runtime for this 
            session
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Model.Feature.ActiveStartTime">
            <summary>
            The start time of this feature when timing a feature
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Model.Feature.IsActive">
            <summary>
            Is this feature currently active, meaning is it currently being tracked
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Timing">
            <summary>
            Static class for encapsulating all timing related issues in the 
            code. Makes testing for timing related functionality easier to mock out
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Timing.SetSystemTimeCall(EQATEC.Analytics.Monitor.Timing.SystemTimeCall)">
            <summary>
            Explicitly setting the system time call
            </summary>
            <param name="call"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Timing.SetSystemUptimeCall(EQATEC.Analytics.Monitor.Timing.SystemUptimeCall)">
            <summary>
            Explicitly setting the system uptime call
            </summary>
            <param name="call"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Timing.GetWaitHandle">
            <summary>
            Getting a WaitHandle instance in the non-signalled state
            </summary>
            <returns></returns>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Timing.Now">
            <summary>
            Getting the current system time
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Timing.Uptime">
            <summary>
            Getting the current system uptime
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Timing.SystemTimeCall">
            <summary>
            Delegate for getting the current system time
            </summary>
            <returns></returns>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Timing.SystemUptimeCall">
            <summary>
            Delegate for getting the current system up time
            </summary>
            <returns></returns>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Timing.WaitHandleCall">
            <summary>
            Delegate for getting a concrete waithandle
            </summary>
            <returns></returns>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Timing.HiResTimer">
            <summary>
            Pricate class encapsulating platform independent hi-resolution timing (attempting
            to do better than 16ms resolution on the full framework)
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.UserAcceptanceInfo">
            <summary>
            
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.UserAcceptanceInfo.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.UserAcceptanceInfo.Save">
            <summary>
            
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.UserAcceptanceInfo.Load">
            <summary>
            
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.UserAcceptanceInfo.AcceptState">
            <summary>
            
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.UserAcceptanceInfo.PostponeCounter">
            <summary>
            
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.UserAcceptanceInfo.UserHasAccepted">
            <summary>
            
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.UserAcceptanceInfo.DefaultHeader1">
            <summary>
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.UserAcceptanceInfo.DefaultTitleTxt">
            <summary>
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.UserAcceptanceInfo.DefaultHeader2">
            <summary>
            
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.UserAcceptanceInfo.DefaultInfoTxt">
            <summary>
            
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.UserAcceptanceInfo.DefaultOkTxt">
            <summary>
            
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.UserAcceptanceInfo.DefaultNoTxt">
            <summary>
            
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.UserAcceptanceInfo.DefaultNotRightNowTxt">
            <summary>
            
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.UserAcceptState">
            <summary>
            
            </summary>
        </member>
        <member name="F:EQATEC.Analytics.Monitor.UserAcceptState.Accepted">
            <summary>
            
            </summary>
        </member>
        <member name="F:EQATEC.Analytics.Monitor.UserAcceptState.Rejected">
            <summary>
            
            </summary>
        </member>
        <member name="F:EQATEC.Analytics.Monitor.UserAcceptState.Postponed">
            <summary>
            
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.VoidLog">
            <summary>
            Internal log, default log in the monitor. Allows for testing classes
            to cast the logging interface and hook into the static events
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.AnalyticsMonitorSettings">
            <summary>
            Class containing the settings used for constructing the AnalyticsMonitor instance. Instances
            are preloaded with default settings which can be adjusted before instance is being passed to 
            the AnalyticsMonitorFactory method
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.AnalyticsMonitorSettings.#ctor(System.String)">
            <summary>
             Construct the default settings corresponding to a given productId.
            </summary>
            <param name="productId">the id of the product to monitor</param>
            <exception cref="T:System.ArgumentException">returned if product id have the wrong format</exception>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.AnalyticsMonitorSettings.Version">
            <summary>
            Specifies the version of the software, that should be used for version checking.
            The default value is tmplicitly retreived of the current application
            by accessing the calling assembly.
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.AnalyticsMonitorSettings.LoggingInterface">
            <summary>
            The logging interface used for exposing internal messages
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.AnalyticsMonitorSettings.Storage">
            <summary>
            The storage interface used internally in the analytics monitor
            for saving and loading state.
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.AnalyticsMonitorSettings.StorageSaveInterval">
            <summary>
            The interval with which we autosave the internal statistics. The default
            is one minute. If set to TimeSpan.Zero, no AutoSave is performed
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.AnalyticsMonitorSettings.ServerUri">
            <summary>
            Override the default uri for the server.
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.AnalyticsMonitorSettings.TestMode">
            <summary>
             Use this flag to enable the test mode for this installation.
             This might for example allow you to test version announcements
             before relasing it to customers.
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.AnalyticsMonitorSettings.SynchronizeAutomatically">
            <summary>
             Use this flag to specify is the monitor automatically should synchronize data 
             to the server or it should only synchronize on ForceSync.
             Default value is 'true'. The monitor will automatically synchronize data to the 
             server without the clients have to call ForceSync.
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.AnalyticsMonitorSettings.DailyNetworkUtilizationInKB">
            <summary>
            Explicitly set a limit on the daily network utilization of the monitor. The utilization
            is accumulated based on the size of the payload for both upstream and downstream data and 
            is enforce on a daily basis. The monitor will not honor a limit lower than 10 kb since the 
            monitor must be able to contact the server. If you do not want the monitor to contact the 
            server you should not call <code>Start</code> on the monitor instance.
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.AnalyticsMonitorSettings.MaxStorageSizeInKB">
            <summary>
            Explicitly set a size limit on the data save to persistent storage by the monitor. The size
            is calculated each time the monitor persists to storage and if the size limit is exceeded it
            will attempt to persist less data. The monitor will not honor a limit lower than 1 kb since
            it 
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.AnalyticsMonitorSettings.ProxyConfig">
            <summary>
            Used to specify configuration of proxy.
            The default value is proxy disabled.
            The proxy configuration can be specified in application.config file if prefered.
            Note: Proxy settings are not supported in Silverlight
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.StatisticsMonitor">
            <summary>
            Class encapsulating the statistics state and the persistance of the state, including
            the auto save
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.StatisticsMonitor.#ctor(EQATEC.Analytics.Monitor.Messaging.IMessageFactory,EQATEC.Analytics.Monitor.Messaging.IMessagingSubSystem,EQATEC.Analytics.Monitor.Storage.IStorageFactory,EQATEC.Analytics.Monitor.IScheduler,EQATEC.Analytics.Monitor.ILogAnalyticsMonitor,EQATEC.Analytics.Monitor.Policy.MonitorPolicy)">
            <summary>
            Constructor
            </summary>
            <param name="messageFactory"></param>
            <param name="messagingSubSystem"></param>
            <param name="storageFactory">the storage factory</param>
            <param name="policy"></param>
            <param name="scheduler"></param>
            <param name="log">the logging interface</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.StatisticsMonitor.StartSession">
            <summary>
            Starting a new session
            </summary>
            <returns>the statistics loaded for this sessions</returns>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.StatisticsMonitor.EndSession(System.Int32)">
            <summary>
            Ending a session
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.StatisticsMonitor.AddFeature(System.String)">
            <summary>
            Adding a feature
            </summary>
            <param name="featureName">the name of the feature</param>
        </member>
        <member name="E:EQATEC.Analytics.Monitor.StatisticsMonitor.VersionAvailable">
            <summary>
            Event raised when a version check ended
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.OSInfo">
            <summary>
            Class accessing the Operating System information
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.OSInfo.GetOSInfo(EQATEC.Analytics.Monitor.ILogAnalyticsMonitor)">
            <summary>
            Constructor, will collect the OS information
            </summary>
            <param name="log"></param>
            <returns></returns>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.OSInfoObject">
            <summary>
            Simple data carrying class for OS information
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Model.Statistics">
            <summary>
            Class encapsulating all stored statistics about the application usage
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Model.Statistics.CreateSnapshot">
            <summary>
            Create a full snapshot of the statistics
            </summary>
            <returns></returns>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Model.Statistics.ApplySnapshot(EQATEC.Analytics.Monitor.Model.Statistics)">
            <summary>
            Applying a previous snapshot
            </summary>
            <param name="snapshot"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Model.Statistics.GetSessionById(System.Guid)">
            <summary>
            Get named session
            </summary>
            <param name="id"></param>
            <returns></returns>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Model.Statistics.StartSession(EQATEC.Analytics.Monitor.InstallationSettings)">
            <summary>
            Starting a new session
            </summary>
            <param name="installationSettings"></param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Model.Statistics.EndSession">
            <summary>
            Ending the current session
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Model.Statistics.Sessions">
            <summary>
            List of sessions, includes the current session and any past sessions
            that have not been sent to the server
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Model.Statistics.StartCount">
            <summary>
            Incrementing counter for number of times started
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Model.Statistics.TotalRuntime">
            <summary>
            The total runtime registered on this application
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.Model.Statistics.CurrentSession">
            <summary>
            The current session instance, if any
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Storage.IsolatedStorageAdaptor">
            <summary>
            Storage implementation for the IsolatedStorage
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Storage.IsolatedStorageAdaptor.Save(System.String,System.Byte[])">
            <summary>
            Saves the data to a file specific for the product ID
            </summary>
            <param name="productID">the product ID</param>
            <param name="data">the raw data</param>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Storage.IsolatedStorageAdaptor.Load(System.String)">
            <summary>
            Loads the data associated with the product ID. If no data can be located, returns null
            </summary>
            <param name="productID">the product ID</param>
            <returns>the data for the prouct ID or null if no data can be found</returns>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Storage.StorageFactory">
            <summary>
            Class encapsulating the loading and saving of data to and from raw bytes
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Storage.StorageFactory.SaveStatistics(EQATEC.Analytics.Monitor.Model.Statistics,EQATEC.Analytics.Monitor.Policy.MonitorPolicy)">
            <summary>
            Saves the statistics
            </summary>
            <param name="statistics">the statistics to save</param>
            <param name="policy">the access info to save</param>
            <returns>the raw data to save or null if unable to convert</returns>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Storage.StorageFactory.LoadStatistics(EQATEC.Analytics.Monitor.Policy.MonitorPolicy)">
            <summary>
            Loads the statistics and returns the alternativeUri and BlockingData
            </summary>
            <returns>The statistics or null if failed to convert</returns>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.VersionAvailableEventArgs">
            <summary>
            Event arguments for the version check event
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.VersionAvailableEventArgs.#ctor(System.Version,System.String,System.String,System.Version,System.Boolean,System.DateTime,System.String)">
            <summary>
            Constructor
            </summary>
            <param name="officialVersion">the official version</param>
            <param name="downloadUri">the download uri</param>
            <param name="description">the description of the new version</param>
            <param name="currentVersion">the current version as sent to the server</param>
            <param name="currentVersionDeprecated">whether the current version is deprecated</param>
            <param name="releaseDate">the release date of the official version</param>
            <param name="additionalInformation">additional information returned from the server</param>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.VersionAvailableEventArgs.OfficialVersion">
            <summary>
            Get the version obtained from the server in the version check. 
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.VersionAvailableEventArgs.DownloadUri">
            <summary>
            Get the Uri of the download location obtained from the server in the version check.
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.VersionAvailableEventArgs.VersionDescription">
            <summary>
            Get the description of the newest version as obtained from the server in the version check.
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.VersionAvailableEventArgs.CurrentVersionDeprecated">
            <summary>
            Get the deprecated status of your current version. The current version is considered
            deprecated if it is mathcing a version marked as deprecated on the server
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.VersionAvailableEventArgs.ReleaseDate">
            <summary>
            Get the release date of the official version
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.VersionAvailableEventArgs.CurrentVersion">
            <summary>
            The current version as specified in the <see cref="T:EQATEC.Analytics.Monitor.AnalyticsMonitorSettings">AnalyticsMonitorSettings</see> object
            used for initialization of the monitor instance
            </summary>
        </member>
        <member name="P:EQATEC.Analytics.Monitor.VersionAvailableEventArgs.AdditionalInfo">
            <summary>
            Additional information passed to the client along with the version information. Can be
            used to send custom formatted information from server to clients
            </summary>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Guard">
            <summary>
            Internal class making ArgumentNull checks a little easier
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Guard.IsNotNull``1(``0,System.String)">
            <summary>
            Checks that argument is not null and returns it
            </summary>
            <typeparam name="T"></typeparam>
            <param name="input"></param>
            <param name="argumentName"></param>
            <returns></returns>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.XmlUtil">
            <summary>
            internal class for doing some Xml manipulation
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.XmlUtil.WriteStartElement(System.Xml.XmlWriter,System.String,System.String[])">
            <summary>
            Adding a named XmlElement as a child to a XmlNode
            </summary>
            <param name="xtw"></param>
            <param name="elementName"></param>
            <param name="attrs"></param>
            <returns></returns>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Parser">
            <summary>
            Internal class for non throwing parsing
            </summary>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.Parser.TryParseUint(System.String,System.UInt32@)">
            <summary>
            Special parsing of int to support both full and CF framework
            </summary>
            <param name="input"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:EQATEC.Analytics.Monitor.StringUtil.Chop(System.String,System.Int32)">
            <summary>
            Chop the string to a given length
            </summary>
            <param name="input"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="T:EQATEC.Analytics.Monitor.Storage.VoidStorage">
            <summary>
            Empty storage, mainly for having an internal default and avoid
            excessive null-checks
            </summary>
        </member>
    </members>
</doc>
